package cn.com.xy.sms.util;

import java.util.Map;

import android.content.Context;
import cn.com.xy.sms.sdk.constant.Constant;

/**
 * 
 * @author jzb
 * 
 */
public class ParseOnePlusManager extends ParseManager {


//	// 验证码情景id数组
//	public static String spilt = "__ARR__";
//
//	/**
//	 * 检查短信是否为指定类型的短信
//	 * 
//	 * @param ctx
//	 *            Context
//	 * @param phoneNumber
//	 *            需要判断的发送者号码是否为企业类号码
//	 * @param smsContent
//	 *            短信内容
//	 * @param smsContent
//	 *            短信中心号
//	 * @param extend
//	 *            类型
//	 * @return true :是 指定类短信; false:不是 指定类短信
//	 */
//	private static int isEnterpriseSmsByType(Context ctx, String phoneNumber,
//			String smsContent, String smsCenterNum, Map<String, String> extend,int juagetype) {
//		int flag = -1;
//		String smsType = null;
//		Map<String, Object> resultMap = null;
//		try {
//
//			extend.put("popup_type", "2");
//			resultMap = parseMsg(ctx, phoneNumber, smsCenterNum, smsContent,
//					extend);
//			if (resultMap!= null) {
//			//	return getSmsTypeByMap(resultMap,juagetype);
//				return DexUtil.getSmsTypeByMap(resultMap,juagetype);
//			}
//		} catch (Throwable e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
//
//		return flag;
//	}
//
//	public static String getValue(Map<String, Object> resultMap, String key) {
//		try {
//			if (resultMap != null && !resultMap.isEmpty()
//					&& !StringUtils.isNull(key) && resultMap.containsKey(key)) {
//				return (String) resultMap.get(key);
//			}
//
//		} catch (Throwable e) {
//
//		}
//		return "";
//	}
//
//	private static boolean isWithCode(Map<String, Object> resultMap,
//			String CodeKey) {
//		String Code = getValue(resultMap, CodeKey);
//		// 没有验证码或多个验证码（有分隔符代表有多个验证码）直接返回不添加复制验证码按钮
//		if (StringUtils.isNull(Code) || Code.contains(spilt)) {
//			return false;
//		}
//		return true;
//	}
//
//	private static boolean isCodeSms(Map<String, Object> resultMap) {
//		String titleNum = resultMap.get("title_num").toString();
//
//		if (titleNum.startsWith("01025")) {
//			return isWithCode(resultMap, "bank_verifycode_verifycode");
//
//			// 互联网验证码，添加复制验证码按钮
//		} else if (titleNum.startsWith("12003")) {
//			return isWithCode(resultMap, "internet_verifycode_verifycode");
//
//			// 电子商务验证码，添加复制验证码按钮
//		} else if (titleNum.startsWith("13004")) {
//			// 为【验证码】时，出现【复制验证码】服务按钮，为【密码】时，不出现【复制验证码】服务按钮。
//			String code_text = getValue(resultMap,
//					"ecommerce_verifycode_password");
//			if (StringUtils.isNull(code_text)) {
//				return isWithCode(resultMap, "ecommerce_verifycode_verifycode");
//			}
//
//			// 票务验证码，添加复制验证码按钮
//		} else if (titleNum.startsWith("15003")) {
//			return isWithCode(resultMap, "ticket_verifycode_verifycode");
//
//			// 医疗验证码，添加复制验证码按钮
//		} else if (titleNum.startsWith("16002")) {
//			return isWithCode(resultMap, "medical_verifycode_verifycode");
//
//			// 运营商验证码，添加复制验证码按钮
//		} else if (titleNum.startsWith("02044")) {
//			return isWithCode(resultMap, "op_verifycode_verifycode");
//
//			// 电子支付验证码，添加复制验证码按钮
//		} else if (titleNum.startsWith("03015")) {
//			return isWithCode(resultMap, "ebank_verifycode_verifycode");
//
//			// 团购手机验证码，添加复制验证码按钮
//		} else if (titleNum.startsWith("08104")) {
//			return isWithCode(resultMap,
//					"groupbuying_phoneverifycode_verifycode_arr");
//		} else if (titleNum.startsWith("08000")) {
//			return isWithCode(resultMap, "groupbuying_details_verifycode_arr");
//		} else if (titleNum.startsWith("08101")) {
//			return isWithCode(resultMap, "groupbuying_reminder_verifycode_arr");
//		} else if (titleNum.startsWith("03006")) {
//			return isWithCode(resultMap, "ebank_payverify_verifycode");
//		} else if (titleNum.startsWith("01002")) {
//			return isWithCode(resultMap, "bank_etrade_verifycode");
//		} else if (titleNum.startsWith("01014")) {
//			return isWithCode(resultMap, "bank_loanextend_verifycode");
//		} else if (titleNum.startsWith("01015")) {
//			return isWithCode(resultMap, "bank_reminderservice_verifycode");
//		} else if (titleNum.startsWith("01023")) {
//			return isWithCode(resultMap, "bank_mobilebanking_verifycode");
//		} else if (titleNum.startsWith("03002")) {
//			return isWithCode(resultMap, "ebank_trade_verifycode");
//		} else if (titleNum.startsWith("03011")) {
//			return isWithCode(resultMap, "ebank_withdrawcash_verifycode");
//		} else if (titleNum.startsWith("03013")) {
//			return isWithCode(resultMap, "ebank_service_verifycode");
//		} else if (titleNum.startsWith("03014")) {
//			return isWithCode(resultMap, "ebank_password_verifycode");
//		} else if (titleNum.startsWith("13001")) {
//			return isWithCode(resultMap, "ecommerce_trade_verifycode");
//		} else if (titleNum.startsWith("00000")) {//兜底验证码
//			return true;
//		}
//		return false;
//	}
//	private static boolean isCallSms(Map<String, Object> resultMap) {
//		String titleNum = resultMap.get("title_num").toString();
//		if (titleNum.startsWith("02010")) {
//			return true;
//		}
//		return false;
//	}
//	public static int getSmsTypeByMap(Map<String, Object> resultMap,int juagetype) {
//
//		if (resultMap == null){
//			return -1;
//		}
//		
//		try {
//			switch(juagetype){
//			case 1:
//				 if(isCodeSms(resultMap)){
//					 return SMS_TYPE_CODE;
//				 }
//				break;
//			case 0:
//				if(isCodeSms(resultMap)){
//					 return SMS_TYPE_CODE;
//				}
//				else if(isCallSms(resultMap)){
//					 return SMS_TYPE_CALL;
//				}
//				break;
//			}
//	 
//		} catch (Throwable e) {
//			e.printStackTrace();
//		}
//		
//		return -1;
//	}

	/**
	 * 判断是否验证码短信
	 * 
	 * @param ctx
	 *            Context
	 * @param phoneNumber
	 *            需要判断的发送者号码是否为企业类号码
	 * @param smsContent
	 *            短信内容
	 * @param smsCenterNum
	 *            短信中心号
	 * @param extend
	 *            类型
	 * @return true :是 指定类短信; false:不是 指定类短信
	 */
	public static boolean isPinSms(Context ctx, String phoneNumber,
			String smsContent, String smsCenterNum, Map<String, String> extend) {
		// if(extend == null){
		// extend= new HashMap<String, String>();
		// }
		// extend.put("sms_type","verifycode");
//		Map<String, Object> resultMap;
//		try {
//			resultMap = parseMsg(ctx, phoneNumber, smsCenterNum, smsContent,
//					extend);
//			if(resultMap!=null){
//				int juage = getSmsTypeByMap(resultMap,0);
//				LogManager.i("gettype", "**********juage*******" + juage);
//				if (juage == 1) {
//					return true;
//				}
//			}
//			
//		} catch (Throwable e) {
//			// TODO Auto-generated catch block
//			e.printStackTrace();
//		}
		int juage = parseSmsType(ctx, phoneNumber, smsContent,
				smsCenterNum, extend, 1);
		if (juage == Constant.SMS_TYPE_CODE) {
			return true;
		}
		
		return false;
	}
}
